<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0">
<link rel="shortcut icon" type="image/x-icon" href="../assets/favicon.ico">
<title>source\jindo.LayerManager.js - Jindo Component - AjaxUI@NHN</title>
<link rel="stylesheet" type="text/css" href="../assets/prettify/prettify-min.css" media="screen">
<script type="text/javascript">
	var isMobile = (function() {
		var r = window.devicePixelRatio || 1;
		if (/windows phone/i.test(navigator.userAgent)) { r = 2; }
		
		var s = Math.max(screen.width / r, screen.height / r);
		
		var m = s < 1024;
		var href = m ? "api.mobile.css" : "api.css";
		document.write('<link rel="stylesheet" type="text/css" href="../assets/' + href + '" media="screen">');
		
		return m;
	})();
</script>

<script type="text/javascript" src="../assets/jindo.desktop.min.js"></script>
<script type="text/javascript" src="../assets/jindo_component.min.js"></script>
</head>
<body class="api-page">
<div id="wrap" class="api-main"><!-- 2Depth 접기 : lft_fold 추가 -->

	<div id="header">
		<h1><a href="../index.html"><span class="blind">JindoJS</span></a></h1>
		<div class="info">
			<span class="version">version 1.6.0</span>
			<span class="bar">|</span>
			<span class="help"><span class="ic_help"></span><a href="http://devcode.nhncorp.com/projects/jindo-component/issue" target="_blank">버그신고/문의</a></span>
		</div>
		<div class="menu">
			<button type="button" id="toggle_search_btn" class="btn_sch"><span class="blind">검색</span></button>
			<button type="button" id="toggle_list_btn" class="btn_snb btn_snb_on"><span class="blind">메뉴</span></button>
			<!-- [D] 클릭시 btn_sch_on,btn_snb_on 추가 -->
		</div>
	</div>

	<!-- sch_frm -->
	<div class="sch_frm hide_when_small">
		<h2 class="blind">검색</h2>
		<div class="filter">
			<input type="search" id="api-filter" placeholder="검색어를 입력하세요.">
		</div>
		<div id="search-tab" style="display:none;">
			<ul class="tabs">
			<li class="tc-tab">전체</li>
			<li class="tc-tab">키워드</li>
			<li class="tc-tab">클래스</li>
			<li class="tc-tab">메서드</li>
			<li class="tc-tab">프로퍼티</li>
			<li class="tc-tab">이벤트</li>
			</ul>
			<div class="panels">
				<ul id="api-all" class="tc-panel"></ul>
				<ul id="api-keywords" class="tc-panel"></ul>
				<ul id="api-classes" class="tc-panel"></ul>
				<ul id="api-methods" class="tc-panel"></ul>
				<ul id="api-attrs" class="tc-panel"></ul>
				<ul id="api-events" class="tc-panel"></ul>
			</div>

		</div>
	</div>
	<!-- // sch_frm -->

	<!-- container -->
	<div id="container">
		<!-- left-columns -->
		<div id="left-columns" class="sidemenu has_scrollbar">
			<h2 class="blind"><a href="../index.html"><span>APIs</span></a></h2>
<div class="snb depth1 scrollbar hide_when_small">
	<!-- [D] style="width:135px; height:384px; -->
	<div class="scrollbar-box">
		<div class="scrollbar-content">
			<div><ul>
			            <li class="">
			            	<a href="../classes/jindo.Accordion.html" class="">
			                	Accordion
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.AjaxHistory.html" class="">
			                	AjaxHistory
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.BrowseButton.html" class="">
			                	BrowseButton
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Cache.html" class="">
			                	Cache
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Calendar.html" class="">
			                	Calendar
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Canvas.html" class="">
			                	Canvas
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.CheckBox.html" class="">
			                	CheckBox
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.CircularRolling.html" class="">
			                	CircularRolling
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Clipboard.html" class="">
			                	Clipboard
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Component.html" class="">
			                	Component
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DataBridge.html" class="">
			                	DataBridge
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DatePicker.html" class="">
			                	DatePicker
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DefaultTextValue.html" class="">
			                	DefaultTextValue
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Dialog.html" class="">
			                	Dialog
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DragArea.html" class="">
			                	DragArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DropArea.html" class="">
			                	DropArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.DynamicTree.html" class="">
			                	DynamicTree
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Effect.html" class="">
			                	Effect
								
								

							    
						        
						            <span class="flag static" title="static"><span class="blind">static</span></span>
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.FileUploader.html" class="">
			                	FileUploader
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.FloatingLayer.html" class="">
			                	FloatingLayer
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Foggy.html" class="">
			                	Foggy
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Formatter.html" class="">
			                	Formatter
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.HTMLComponent.html" class="">
			                	HTMLComponent
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.InlineTextEdit.html" class="">
			                	InlineTextEdit
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LayerEffect.html" class="">
			                	LayerEffect
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LayerManager.html" class="">
			                	LayerManager
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LayerPosition.html" class="">
			                	LayerPosition
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.LazyLoading.html" class="">
			                	LazyLoading
								
								

							    
						        
						            <span class="flag static" title="static"><span class="blind">static</span></span>
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.ModalDialog.html" class="">
			                	ModalDialog
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.MouseGesture.html" class="">
			                	MouseGesture
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.MultipleAjaxRequest.html" class="">
			                	MultipleAjaxRequest
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.NumberFormatter.html" class="">
			                	NumberFormatter
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.NumericStepper.html" class="">
			                	NumericStepper
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Pagination.html" class="">
			                	Pagination
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Rolling.html" class="">
			                	Rolling
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.RollingChart.html" class="">
			                	RollingChart
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.RolloverArea.html" class="">
			                	RolloverArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.RolloverClick.html" class="">
			                	RolloverClick
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.ScrollBar.html" class="">
			                	ScrollBar
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.ScrollBox.html" class="">
			                	ScrollBox
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.SelectArea.html" class="">
			                	SelectArea
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.SelectBox.html" class="">
			                	SelectBox
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Slider.html" class="">
			                	Slider
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.StarRating.html" class="">
			                	StarRating
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.TabControl.html" class="">
			                	TabControl
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.TextRange.html" class="">
			                	TextRange
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Timer.html" class="">
			                	Timer
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Transition.html" class="">
			                	Transition
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.Tree.html" class="">
			                	Tree
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.UIComponent.html" class="">
			                	UIComponent
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.UploadQueue.html" class="">
			                	UploadQueue
								
								

							    
						        
			            	</a>
			            </li>
			        
			            <li class="">
			            	<a href="../classes/jindo.WatchInput.html" class="">
			                	WatchInput
								
								

							    
						        
			            	</a>
			            </li>
			        </ul></div>
		</div>
	</div>
	<div class="scrollbar-v">
		<div class="scrollbar-button-up"></div>
		<div class="scrollbar-track">
			<div class="scrollbar-thumb" style="top: 0px; height: 222px; "></div>
		</div>
		<div class="scrollbar-button-down"></div>
	</div>
</div>


<button type="button" title="펼치기" class="btn_open">바로가기 열기<span class="ic"></span></button>
<button type="button" title="접기" class="btn_close">바로가기 닫기<span class="ic"></span></button>

		</div>
		<!-- // left-columns -->

		<!-- main content -->
		<div id="main">
			<div class="main_fix">
				<div class="content">
	
	<h1 class="blind">source/jindo.LayerManager.js</h1>
	<div class="tc-panel first">
		<dl class="relation">
			<dt>파일명</dt>
			<dd>jindo.LayerManager.js</dd>
			<dt>경로</dt>
			<dd>source/</dd>
		</dl>
		<div id="file" class="file">
		    <pre class="code prettyprint linenums">/**
	@fileOverview&nbsp;특정&nbsp;엘리먼트&nbsp;및&nbsp;엘리먼트&nbsp;그룹에서&nbsp;발생한&nbsp;이벤트에&nbsp;따라&nbsp;레이어를&nbsp;보여주고&nbsp;숨겨주는&nbsp;역할을&nbsp;하는&nbsp;컴포넌트
	@version&nbsp;#__VERSION__#
**/
/**
	특정&nbsp;엘리먼트와&nbsp;지정한&nbsp;엘리먼트&nbsp;그룹에서&nbsp;발생한&nbsp;이벤트에&nbsp;따라&nbsp;레이어를&nbsp;보여주고&nbsp;숨겨주는&nbsp;컴포넌트
	
	@class&nbsp;jindo.LayerManager
	@extends&nbsp;jindo.UIComponent
	@uses&nbsp;jindo.Timer
	
	@keyword&nbsp;layer,&nbsp;manager,&nbsp;레이어,&nbsp;관리
**/
jindo.LayerManager&nbsp;=&nbsp;jindo.$Class({
	/**&nbsp;@lends&nbsp;jindo.LayerManager.prototype&nbsp;*/
	
	_bIsActivating&nbsp;&nbsp;:&nbsp;false,
	_bIsHiding&nbsp;:&nbsp;false,&nbsp;//hide()&nbsp;메서드가&nbsp;Timer로&nbsp;수행되고&nbsp;있는지의&nbsp;여부
	_bIsShowing&nbsp;:&nbsp;false,
	_aLink&nbsp;:&nbsp;null,
	
	/**
		LayerManager&nbsp;컴포넌트를&nbsp;초기화한다.
		@constructor
		@param&nbsp;{HTMLElement&nbsp;|&nbsp;String}&nbsp;el&nbsp;숨기고자하는&nbsp;레이어&nbsp;엘리먼트&nbsp;(혹은&nbsp;id)
		@param&nbsp;{Object}&nbsp;[htOption]&nbsp;추가&nbsp;옵션
			@param&nbsp;{String}&nbsp;[htOption.sCheckEvent=&quot;click&quot;]&nbsp;레이어가&nbsp;숨김동작을&nbsp;확인할&nbsp;이벤트&nbsp;종류.&nbsp;이&nbsp;이벤트는&nbsp;document.body에&nbsp;바인딩된다.&nbsp;이벤트&nbsp;명은&nbsp;on을&nbsp;제외하고&nbsp;입력한다.&nbsp;예를들어&nbsp;레이어에서&nbsp;커서가&nbsp;벗어나&nbsp;document.body에&nbsp;마우스오버되었을&nbsp;경우&nbsp;레이어가&nbsp;닫히게&nbsp;하고&nbsp;싶은&nbsp;경우&nbsp;&quot;mouseover&quot;로&nbsp;지정한다.&nbsp;(&quot;mouseout&quot;&nbsp;아님)
			@param&nbsp;{Number}&nbsp;[htOption.nCheckDelay=100]&nbsp;레이어&nbsp;숨김여부를&nbsp;확인하기&nbsp;위한&nbsp;지연시간.&nbsp;sCheckEvent옵션으로&nbsp;정의된&nbsp;이벤트가&nbsp;발생하고&nbsp;난&nbsp;후,&nbsp;지정된&nbsp;지연시간&nbsp;전에&nbsp;link된&nbsp;엘리먼트에&nbsp;mouseover되는&nbsp;경우&nbsp;레이어가&nbsp;숨겨지지&nbsp;않고&nbsp;취소&nbsp;된다.&nbsp;이때&nbsp;ignore&nbsp;커스텀&nbsp;이벤트가&nbsp;발생한다.&lt;br/&gt;-&nbsp;단위는&nbsp;ms(1000이&nbsp;1초)
			@param&nbsp;{Number}&nbsp;[htOption.nShowDelay=0]&nbsp;레이어가&nbsp;보여지기까지의&nbsp;지연시간&lt;br/&gt;-&nbsp;단위는&nbsp;ms(1000이&nbsp;1초)
			@param&nbsp;{Number}&nbsp;[htOption.nHideDelay=100]&nbsp;레이어가&nbsp;숨겨지기까지의&nbsp;지연시간&lt;br/&gt;-&nbsp;단위는&nbsp;ms(1000이&nbsp;1초)
	**/
	$init:&nbsp;function(el,&nbsp;htOption){
		this.option({
			sCheckEvent:&nbsp;&quot;click&quot;,
			nCheckDelay:&nbsp;100,
			nShowDelay:&nbsp;0,
			nHideDelay:&nbsp;100
		});
		
		this.option(htOption&nbsp;||&nbsp;{});
		this.setLayer(el);
		
		this._aLink&nbsp;=&nbsp;[];
		this._oShowTimer&nbsp;=&nbsp;new&nbsp;jindo.Timer();
		this._oHideTimer&nbsp;=&nbsp;new&nbsp;jindo.Timer();
		this._oEventTimer&nbsp;=&nbsp;new&nbsp;jindo.Timer();
		this._wfOnEvent&nbsp;=&nbsp;jindo.$Fn(this._onEvent,&nbsp;this);
		this.getVisible();
		this.activate();
	},
	
	/**
		컴포넌트를&nbsp;활성화한다.
	**/
	_onActivate&nbsp;:&nbsp;function()&nbsp;{
		this._wfOnEvent.attach(document,&nbsp;this.option(&quot;sCheckEvent&quot;));
	},
	
	/**
		컴포넌트를&nbsp;비활성화한다.
	**/
	_onDeactivate&nbsp;:&nbsp;function()&nbsp;{
		this._wfOnEvent.detach(document,&nbsp;this.option(&quot;sCheckEvent&quot;));
	},
	
	/**
		Layer가&nbsp;보여지고&nbsp;있는지&nbsp;여부를&nbsp;가져온다.
		
		@method&nbsp;getVisible
		@return&nbsp;{Boolean}
	**/
	getVisible:&nbsp;function(){
		return&nbsp;this._wel.visible();
	},
	
	_check:&nbsp;function(el){
		var&nbsp;wel&nbsp;=&nbsp;jindo.$Element(el);
		for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0,&nbsp;elLink,&nbsp;welLink;&nbsp;(elLink&nbsp;=&nbsp;this._aLink[i]);&nbsp;i++)&nbsp;{
			welLink&nbsp;=&nbsp;jindo.$Element(elLink);
			if&nbsp;(welLink)&nbsp;{
				elLink&nbsp;=&nbsp;welLink.$value();
				if&nbsp;(elLink&nbsp;&amp;&amp;&nbsp;wel&nbsp;&amp;&amp;&nbsp;(el&nbsp;==&nbsp;elLink&nbsp;||&nbsp;wel.isChildOf(elLink)))&nbsp;{
					return&nbsp;true;
				}&nbsp;
			}
		}
		return&nbsp;false;
	},
	
	_find:&nbsp;function(el){
		for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0,&nbsp;elLink;&nbsp;(elLink&nbsp;=&nbsp;this._aLink[i]);&nbsp;i++)&nbsp;{
			if&nbsp;(elLink&nbsp;==&nbsp;el)&nbsp;{
				return&nbsp;i;
			}&nbsp;
		}
		return&nbsp;-1;
	},
	
	/**
		보여주고&nbsp;숨겨줄&nbsp;레이어&nbsp;객체를&nbsp;가져온다.
		
		@method&nbsp;getLayer
		@return&nbsp;{HTMLElement}&nbsp;
	**/
	getLayer&nbsp;:&nbsp;function()&nbsp;{
		return&nbsp;this._el;
	},
	
	/**
		보여주고&nbsp;숨겨줄&nbsp;레이어&nbsp;객체를&nbsp;설정한다.
		
		@method&nbsp;setLayer
		@param&nbsp;{HTMLElement}&nbsp;el&nbsp;레이어&nbsp;엘리먼트
		@return&nbsp;{this}&nbsp;
	**/
	setLayer&nbsp;:&nbsp;function(el)&nbsp;{
		this._el&nbsp;=&nbsp;jindo.$(el);
		this._wel&nbsp;=&nbsp;jindo.$Element(el);
		return&nbsp;this;
	},
	
	/**
		link된&nbsp;엘리먼트&nbsp;배열을&nbsp;가져온다.
		
		@method&nbsp;getLinks
		@return&nbsp;{Array}
	**/
	getLinks&nbsp;:&nbsp;function()&nbsp;{
		return&nbsp;this._aLink;
	},
	
	/**
		link할&nbsp;엘리먼트&nbsp;배열을&nbsp;설정한다.
		
		@method&nbsp;setLinks
		@param&nbsp;{Array}&nbsp;a&nbsp;엘리먼트&nbsp;배열
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
	**/
	setLinks&nbsp;:&nbsp;function(a)&nbsp;{
		this._aLink&nbsp;=&nbsp;jindo.$A(a).unique().$value();
		return&nbsp;this;
	},
	
	/**
		생성자의&nbsp;옵션으로&nbsp;지정한&nbsp;이벤트가&nbsp;발생해도&nbsp;레이어를&nbsp;닫지&nbsp;않게&nbsp;할&nbsp;엘리먼트를&nbsp;지정한다
		
		@method&nbsp;link
		@param&nbsp;{vElement}&nbsp;vElement&nbsp;이벤트를&nbsp;무시할&nbsp;엘리먼트&nbsp;또는&nbsp;엘리먼트의&nbsp;ID&nbsp;(인자를&nbsp;여러개&nbsp;주어서&nbsp;다수&nbsp;지정&nbsp;가능)
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
		@example
			o.link(jindo.$(&quot;one&quot;),&nbsp;&quot;two&quot;,&nbsp;oEl);
	**/
	link:&nbsp;function(vElement){
		if&nbsp;(arguments.length&nbsp;&gt;&nbsp;1)&nbsp;{
			for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0,&nbsp;len&nbsp;=&nbsp;arguments.length;&nbsp;i&nbsp;&lt;&nbsp;len;&nbsp;i++)&nbsp;{
				this.link(arguments[i]);
			}
			return&nbsp;this;
		}
		
		if&nbsp;(this._find(vElement)&nbsp;!=&nbsp;-1)&nbsp;{
			return&nbsp;this;
		}&nbsp;
		
		this._aLink.push(vElement);
		return&nbsp;this;
	},
	
	/**
		생성자의&nbsp;옵션으로&nbsp;지정한&nbsp;이벤트가&nbsp;발생해도&nbsp;레이어를&nbsp;닫지&nbsp;않게&nbsp;할&nbsp;엘리먼트&nbsp;지정한&nbsp;것을&nbsp;제거한다
		
		@method&nbsp;unlink
		@param&nbsp;{vElement}&nbsp;vElement&nbsp;이벤트가&nbsp;무시된&nbsp;엘리먼트&nbsp;또는&nbsp;엘리먼트의&nbsp;ID&nbsp;(인자를&nbsp;여러개&nbsp;주어서&nbsp;다수&nbsp;지정&nbsp;가능)
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
		@example
			o.unlink(jindo.$(&quot;one&quot;),&nbsp;&quot;two&quot;,&nbsp;oEl);
	**/
	unlink:&nbsp;function(vElement){
		if&nbsp;(arguments.length&nbsp;&gt;&nbsp;1)&nbsp;{
			for&nbsp;(var&nbsp;i&nbsp;=&nbsp;0,&nbsp;len&nbsp;=&nbsp;arguments.length;&nbsp;i&nbsp;&lt;&nbsp;len;&nbsp;i++)&nbsp;{
				this.unlink(arguments[i]);
			}
			return&nbsp;this;
		}
		
		var&nbsp;nIndex&nbsp;=&nbsp;this._find(vElement);
		if&nbsp;(nIndex&nbsp;&gt;&nbsp;-1)&nbsp;{
			this._aLink.splice(nIndex,&nbsp;1);
		}
		
		return&nbsp;this;
	},
	
	_fireEventBeforeShow&nbsp;:&nbsp;function()&nbsp;{
		/**
			레이어를&nbsp;보여주기&nbsp;전에&nbsp;발생
			
			@event&nbsp;beforeShow
			@param&nbsp;{String}&nbsp;sType&nbsp;커스텀&nbsp;이벤트명
			@param&nbsp;{Array}&nbsp;aLinkedElement&nbsp;link된&nbsp;엘리먼트들
			@param&nbsp;{Element}&nbsp;elLayer&nbsp;보여지고&nbsp;감춰지는&nbsp;대상&nbsp;레이어
			@param&nbsp;{Function}&nbsp;stop&nbsp;레이어&nbsp;보여주는&nbsp;것을&nbsp;중단하는&nbsp;메서드
			@example
				//&nbsp;beforeShow&nbsp;커스텀&nbsp;이벤트&nbsp;핸들링
				oLayerManager.attach(&quot;beforeShow&quot;,&nbsp;function(oCustomEvent)&nbsp;{&nbsp;...&nbsp;});
			@example
				//&nbsp;레이어가&nbsp;보여지지&nbsp;않도록&nbsp;처리
				oLayerManager.attach(&quot;beforeShow&quot;,&nbsp;function(oCustomEvent)&nbsp;{
					oCustomEvent.stop();
				});
		**/
		return&nbsp;this.fireEvent(&quot;beforeShow&quot;,&nbsp;{
			elLayer&nbsp;:&nbsp;this.getLayer(),
			aLinkedElement&nbsp;:&nbsp;this.getLinks()
		});
	},
	
	_fireEventShow&nbsp;:&nbsp;function()&nbsp;{
		this._bIsShowing&nbsp;=&nbsp;false;
		/**
			레이어가&nbsp;화면에&nbsp;나타나는&nbsp;것이&nbsp;끝난&nbsp;후&nbsp;발생
			
			@event&nbsp;show
			@param&nbsp;{String}&nbsp;sType&nbsp;커스텀&nbsp;이벤트명
			@param&nbsp;{Array}&nbsp;aLinkedElement&nbsp;link된&nbsp;엘리먼트들
			@param&nbsp;{Element}&nbsp;elLayer&nbsp;보여지고&nbsp;감춰지는&nbsp;대상&nbsp;레이어
			@example
				//&nbsp;show&nbsp;커스텀&nbsp;이벤트&nbsp;핸들링
				oLayerManager.attach(&quot;show&quot;,&nbsp;function(oCustomEvent)&nbsp;{&nbsp;...&nbsp;});
		**/
		this.fireEvent(&quot;show&quot;,&nbsp;{
			elLayer&nbsp;:&nbsp;this.getLayer(),
			aLinkedElement&nbsp;:&nbsp;this.getLinks()
		});
	},
	
	_fireEventBeforeHide&nbsp;:&nbsp;function()&nbsp;{
		/**
			레이어를&nbsp;감추기&nbsp;전에&nbsp;발생
			
			@event&nbsp;beforeHide
			@param&nbsp;{String}&nbsp;sType&nbsp;커스텀&nbsp;이벤트명
			@param&nbsp;{Array}&nbsp;aLinkedElement&nbsp;link된&nbsp;엘리먼트들
			@param&nbsp;{Element}&nbsp;elLayer&nbsp;보여지고&nbsp;감춰지는&nbsp;대상&nbsp;레이어
			@param&nbsp;{Function}&nbsp;stop&nbsp;레이어를&nbsp;감추는&nbsp;것을&nbsp;중단하는&nbsp;메서드
			@example
				//&nbsp;beforeHide&nbsp;커스텀&nbsp;이벤트&nbsp;핸들링
				oLayerManager.attach(&quot;beforeHide&quot;,&nbsp;function(oCustomEvent)&nbsp;{&nbsp;...&nbsp;});
			@example
				//&nbsp;레이어가&nbsp;감춰지지&nbsp;않도록&nbsp;처리
				oLayerManager.attach(&quot;beforeHide&quot;,&nbsp;function(oCustomEvent)&nbsp;{
					oCustomEvent.stop();
				});
		**/
		var&nbsp;bRet&nbsp;=&nbsp;this.fireEvent(&quot;beforeHide&quot;,&nbsp;{
			elLayer&nbsp;:&nbsp;this.getLayer(),
			aLinkedElement&nbsp;:&nbsp;this.getLinks()
		});
		
		if&nbsp;(!bRet)&nbsp;{&nbsp;this._bIsHiding&nbsp;=&nbsp;false;&nbsp;}
		return&nbsp;bRet;
	},
	
	_fireEventHide&nbsp;:&nbsp;function()&nbsp;{
		this._bIsHiding&nbsp;=&nbsp;false;
		/**
			레이어가&nbsp;감춰진&nbsp;후&nbsp;발생
			
			@event&nbsp;hide
			@param&nbsp;{String}&nbsp;sType&nbsp;커스텀&nbsp;이벤트명
			@param&nbsp;{Array}&nbsp;aLinkedElement&nbsp;link된&nbsp;엘리먼트들
			@param&nbsp;{Element}&nbsp;elLayer&nbsp;보여지고&nbsp;감춰지는&nbsp;대상&nbsp;레이어
			@example
				//&nbsp;hide&nbsp;커스텀&nbsp;이벤트&nbsp;핸들링
				oLayerManager.attach(&quot;hide&quot;,&nbsp;function(oCustomEvent)&nbsp;{&nbsp;...&nbsp;});
		**/
		this.fireEvent(&quot;hide&quot;,&nbsp;{
			elLayer&nbsp;:&nbsp;this.getLayer(),
			aLinkedElement&nbsp;:&nbsp;this.getLinks()
		});
	},
	
	_show:&nbsp;function(fShow,&nbsp;nDelay){
		var&nbsp;self&nbsp;=&nbsp;this;
		
		this._oEventTimer.abort();
		this._bIsShowing&nbsp;=&nbsp;true;
		this._bIsHiding&nbsp;=&nbsp;false;

		if&nbsp;(nDelay&nbsp;&lt;=&nbsp;0)&nbsp;{&nbsp;self._oHideTimer.abort();&nbsp;}
		this._oShowTimer.start(function()&nbsp;{
			fShow();
		},&nbsp;nDelay);
	},
	
	_hide:&nbsp;function(fHide,&nbsp;nDelay){
		var&nbsp;self&nbsp;=&nbsp;this;

		this._bIsShowing&nbsp;=&nbsp;false;
		this._bIsHiding&nbsp;=&nbsp;true;
		
		if&nbsp;(nDelay&nbsp;&lt;=&nbsp;0)&nbsp;{&nbsp;self._oShowTimer.abort();&nbsp;}
		this._oHideTimer.start(function()&nbsp;{
			fHide();
		},&nbsp;nDelay);
	},
	
	/**
		레이어를&nbsp;보여준다.
		
		@method&nbsp;show
		@param&nbsp;{Number}&nbsp;nDelay&nbsp;레이어를&nbsp;보여줄&nbsp;때의&nbsp;지연시간을&nbsp;지정&nbsp;(생략시&nbsp;옵션으로&nbsp;지정한&nbsp;nShowDelay&nbsp;값을&nbsp;따른다)
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
	**/
	show&nbsp;:&nbsp;function(nDelay)&nbsp;{
		if&nbsp;(typeof&nbsp;nDelay&nbsp;==&nbsp;&quot;undefined&quot;)&nbsp;{
			nDelay&nbsp;=&nbsp;this.option(&quot;nShowDelay&quot;);
		}
		var&nbsp;self&nbsp;=&nbsp;this;
		this._show(function(){
			if&nbsp;(!self.getVisible())&nbsp;{
				if&nbsp;(self._fireEventBeforeShow())&nbsp;{
					self._wel.show();
					self._fireEventShow();
				}
			}
		},&nbsp;nDelay);
		
		return&nbsp;this;
	},
	
	/**
		레이어를&nbsp;숨긴다.
		
		@method&nbsp;hide
		@param&nbsp;{Number}&nbsp;nDelay&nbsp;nDelay&nbsp;레이어를&nbsp;숨길&nbsp;때의&nbsp;지연시간을&nbsp;지정&nbsp;(생략시&nbsp;옵션으로&nbsp;지정한&nbsp;nHideDelay&nbsp;값을&nbsp;따른다)
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
	**/
	hide&nbsp;:&nbsp;function(nDelay)&nbsp;{
		if&nbsp;(typeof&nbsp;nDelay&nbsp;==&nbsp;&quot;undefined&quot;)&nbsp;{
			nDelay&nbsp;=&nbsp;this.option(&quot;nHideDelay&quot;);
		}
		var&nbsp;self&nbsp;=&nbsp;this;
		this._hide(function(){
			if&nbsp;(self.getVisible())&nbsp;{
				if&nbsp;(self._fireEventBeforeHide())&nbsp;{
					self._wel.hide();
					self._fireEventHide();
				}
			}
		},&nbsp;nDelay);
		return&nbsp;this;
	},
	
	/**
		레이어를&nbsp;보여주거나&nbsp;숨기도록&nbsp;요청한다.
		
		@method&nbsp;toggle
		@param&nbsp;{Number}&nbsp;nDelay&nbsp;레이어를&nbsp;보여주거나&nbsp;숨길&nbsp;때의&nbsp;지연시간을&nbsp;지정&nbsp;(생략시&nbsp;옵션으로&nbsp;지정한&nbsp;showDelay/hideDelay&nbsp;값을&nbsp;따른다)
		@return&nbsp;{this}&nbsp;인스턴스&nbsp;자신
	**/
	toggle:&nbsp;function(nDelay){
		if&nbsp;(!this.getVisible()&nbsp;||&nbsp;this._bIsHiding)&nbsp;{
			this.show(nDelay&nbsp;||&nbsp;this.option(&quot;nShowDelay&quot;));
		}&nbsp;else&nbsp;{
			this.hide(nDelay&nbsp;||&nbsp;this.option(&quot;nHideDelay&quot;));
		}
		return&nbsp;this;
	},
	
	_onEvent&nbsp;:&nbsp;function(we){
		var&nbsp;el&nbsp;=&nbsp;we.element,
			self&nbsp;=&nbsp;this;
		
		this._oEventTimer.start(function()&nbsp;{
			if&nbsp;(!self._bIsHiding&nbsp;&amp;&amp;&nbsp;self.getVisible())&nbsp;{
				if&nbsp;(self._check(el))&nbsp;{&nbsp;//&nbsp;hide()수행중이&nbsp;아니고&nbsp;links&nbsp;객체들&nbsp;안에서&nbsp;발생한거면&nbsp;무시
					if&nbsp;(!self._bIsShowing)&nbsp;{
						/**
							sCheckEvent가&nbsp;발생했으나&nbsp;레이어를&nbsp;숨기지&nbsp;않도록&nbsp;무시된&nbsp;경우에&nbsp;발생
							
							@event&nbsp;ignore
							@param&nbsp;{String}&nbsp;sType&nbsp;커스텀&nbsp;이벤트명
							@param&nbsp;{Array}&nbsp;aLinkedElement&nbsp;link된&nbsp;엘리먼트들
							@param&nbsp;{Element}&nbsp;elLayer&nbsp;보여지고&nbsp;감춰지는&nbsp;대상&nbsp;레이어
							@param&nbsp;{String}&nbsp;sCheckEvent&nbsp;발생된&nbsp;이벤트&nbsp;타입
							@example
								//&nbsp;ignore&nbsp;커스텀&nbsp;이벤트&nbsp;핸들링
								oLayerManager.attach(&quot;ignore&quot;,&nbsp;function(oCustomEvent)&nbsp;{&nbsp;...&nbsp;});
						**/
						self.fireEvent(&quot;ignore&quot;,&nbsp;{
							sCheckEvent&nbsp;:&nbsp;self.option(&quot;sCheckEvent&quot;)
						});
						self._oHideTimer.abort();
						self._bIsHiding&nbsp;=&nbsp;false;
					}
				}&nbsp;else&nbsp;{&nbsp;//이벤트에&nbsp;의해&nbsp;hide()
					//mousedown시&nbsp;disabled된&nbsp;input일&nbsp;경우&nbsp;el이&nbsp;제대로&nbsp;리턴되지&nbsp;않는&nbsp;IE버그&nbsp;수정
					if&nbsp;(typeof&nbsp;el.tagName&nbsp;!=&nbsp;&quot;undefined&quot;)&nbsp;{
						self.hide();
					}
				}
			}
		},&nbsp;this.option(&quot;nCheckDelay&quot;));	//link된&nbsp;레이어&nbsp;내를&nbsp;클릭해서&nbsp;레이어를&nbsp;닫으려하는&nbsp;경우&nbsp;처리
	}
}).extend(jindo.UIComponent);</pre>
		</div>
	</div>
</div>

			</div>
		</div>
		<!-- // main content -->

	</div>
	<!-- // container -->

	<!-- footer -->
	<div id="footer">
		<p>Copyright ©<a href="http://nhncorp.com/" target="_blank">NHN Corp.</a> Platform Ajax Team. All Rights Reserved.</p>
	</div>
	<!-- // footer -->

</div>
<!-- // wrap -->

<style type="text/css">

	.item {
		transition:background .2s linear;
		-webkit-transition:background .2s linear;
		-moz-transition:background .2s linear;
		-o-transition:background .2s linear;
		-ms-transition:background .2s linear;
	}
	
	.highlight {
		background-color:#ffffd8 !important;
	}
	
	li.selected a.highlight {
		background-color:#aa8 !important;
	}
	
	.hide-deprecated .deprecated-item, .hide-inherited .inherited-item, .private {
		display:none;
	}
	
	.scrollbar-v, .scrollbar-h { display:none; }
	.scrollbar-show { display:block; }
	
	.api-page .tbl_fold .more_history { display:none; }
	
	/* FILE */
	.file pre.code {
		border:1px solid #ccc;
		padding:0;
	}
	
	.file ol {
		padding-left: 4em;
		background-color: #f9f9f9;
	}

	.file ol li {
		list-style: decimal;
		border-left:1px solid #ccc;
		padding:2px 4px;
	}
	
	.file li.L1, .file li.L3, .file li.L5, .file li.L7, .file li.L9 {
		background-color: #f9f9f9;	
	}

	.file li.L0, .file li.L2, .file li.L4, .file li.L6, .file li.L8 { 
		background-color: #f0f0f0;
	}
	
</style>
<script type="text/javascript" src="../assets/prettify/prettify-min.js"></script>
<script type="text/javascript" src="../assets/hash.js"></script>
<script type="text/javascript" src="../assets/api-list.js"></script>
<script type="text/javascript" src="../assets/api-search.js"></script>
<script type="text/javascript" src="../assets/../api.js?callback=APISearch.setData"></script>
<script type="text/javascript">
	var projectRoot = "../";
	var projectAssets = "../assets";
	
    apiDocs(projectAssets);	
</script>
</body>
</html>